iT邦幫忙

2021 iThome 鐵人賽

DAY 14
0
自我挑戰組

Android 初新者系列 第 14

Day14 - Button外傳

  • 分享至 

  • xImage
  •  

前3天已經學會了Button用法
以往我們處理按鈕的點擊事件
都是先抓到元件id,才去設定點擊事件
有一次我在網路上學習時
突然發現還有另一種方法可以設定點擊事件
並不困難,蠻簡單的
今天就教大家那個方法八
Let's GO

開始

先來複習以往的抓元件後,新增點擊事件

  • 前幾篇方法
    先在布局新增一顆按鈕,設定好想要的id
    https://ithelp.ithome.com.tw/upload/images/20210922/20141769uQNlDbEdAz.png

https://ithelp.ithome.com.tw/upload/images/20210922/20141769rD626nJkzc.png

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:gravity="center"
    xmlns:android="http://schemas.android.com/apk/res/android">
    <Button
        android:id="@+id/btn_1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="舊"/>
</LinearLayout>

抓Button元件後,新增點擊事件setOnClickListener
用Log測試點擊效果
https://ithelp.ithome.com.tw/upload/images/20210922/20141769Kc0qb16x6t.png

package com.example.hellow;

import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.util.Size;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Button btn_1 = findViewById(R.id.btn_1);

        btn_1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Log.v("btn","舊的");
           }
        });
    }
}

執行結果:
點擊"舊"按鈕
https://ithelp.ithome.com.tw/upload/images/20210922/201417699fRKP4ko0q.png


  • 另一種
    不變的拉一個按鈕出來
    但這次我們不用設id
    但要到xml ->Code檔Button元件新增android:onClick="btn"這行
    打完後這行底色會反黃,點擊android:onClick="btn"這行,等黃色燈泡跑出來,點選燈泡候選第一個
    到Java檔你會發現多了一串程式碼
    之後只需要把Log寫在那串裡面就可以了
    https://ithelp.ithome.com.tw/upload/images/20210922/20141769rYog93rCgS.png
package com.example.hellow;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.util.Log;
import android.util.Size;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

    public void btn(View view) {
        Log.v("btn","另一種方式喔");
    }
}

執行結果:
點擊"新"按鈕
https://ithelp.ithome.com.tw/upload/images/20210922/20141769yiCOjgGjJu.png


你問我兩種方式哪一種比較好?
我的答案是:你喜歡就好
/images/emoticon/emoticon39.gif


上一篇
Day13 - Button(三)
下一篇
Day15 - BMI計算機
系列文
Android 初新者30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言